package br.com.manguesoft.mstore.negocio.comum.api;

import java.io.Serializable;
import java.util.Date;
import java.util.Map;

/**
 * @author roberto
 * 
 */
public interface EntidadeNegocio extends Serializable {

	/**
	 * ATRIBUTO_CHAVE_PRIMARIA
	 */
	String ATRIBUTO_CHAVE_PRIMARIA = "chavePrimaria";

	/**
	 * @return Retorna o atributo chavePrimaria.
	 */
	long getChavePrimaria();

	void setChavePrimaria(long chavePrimaria);

	int getVersao();

	void setVersao(int versao);

	Date getUltimaAlteracao();

	void setUltimaAlteracao(Date ultimaAlteracao);

	boolean isHabilitado();

	void setHabilitado(boolean habilitado);

	void incrementarVersao();

	Map<String, Object> validarDados();
}